Smart light switch with display

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for integrating one or more light switch panels into a monitoring system. The methods, systems, and apparatus include actions of determining to communicate a non-traditional file to a z-wave capable device, communicate a first data packet to the z-wave capable device, based on communicating the first data packet to the z-wave capable device, alter a schedule command class payload of a second data packet to include a first portion of the non-traditional file, alter a schedule command class payload of a third data packet to include a second portion of the non-traditional file, and alter a schedule command class payload of a fourth data packet to include a third portion of the non-traditional file, and communicate, to the z-wave capable device, the altered second data packet, the altered third data packet, and the altered fourth data packet.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Provisional application Ser.No. 16/877,391, filed May 18, 2020, which claims the benefit of U.S.Provisional Application No. 62/848,693, filed May 16, 2019. Thedisclosure of each of the foregoing applications is incorporated hereinby reference.

TECHNICAL FIELD

This disclosure relates to property monitoring technology.

BACKGROUND

Many people equip homes and businesses with monitoring systems toprovide increased security for their homes and businesses.

SUMMARY

Techniques are described for monitoring technology. For example,techniques are described for integrating one or more light switch panelsinto a monitoring system.

Implementations of the described techniques may include hardware, amethod or process implemented at least partially in hardware, or acomputer-readable storage medium encoded with executable instructionsthat, when executed by a processor, perform operations.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1A illustrates an example of a system for communicating data to alight switch panel at a monitored property.

FIG. 1B illustrates the communication of data at a monitored property.

FIG. 2 illustrates an example of a display at a light switch panel.

FIG. 3 is a flow chart of an example process for storing anon-traditional file at a light switch panel.

FIG. 4 illustrates an example of a monitoring system integrated with alight switch panel.

FIG. 5 illustrates an example process for communicating anon-traditional file to a z-wave capable device.

FIG. 6 illustrates an example of a Segmented Data Transport Managermanifest transfer file format and steps.

FIG. 7 illustrates steps a segment transport manager uses to receive anon-traditional data file from a local App layer.

FIG. 8 illustrates steps a segment transport manager uses to receive oneor more segmented manifests from its local transport type data OTAtransfer interface.

DETAILED DESCRIPTION

Techniques are described for integrating one or more light switch panelsinto a monitoring system. Each of the one or more light switch panelsare e-ink display panels that may be mounted to the wall of a room, andare configured to display user configurable content. In some examples,the one or more light switch panels may be an LCD, OLED, or any otherappropriate display panel. A light switch panel is a z-wave capabledevice that is configured to communicate with the control unit at themonitored property. The light switch panel displays the status of theone or more lights at the monitored property. For example, the lightswitch panel may display that light X and Y are switched on, and light Zis switched off. In some examples, the light switch panel displays thestatus of one or more other electronic devices at the monitoredproperty. For example, the light switch panel displays that theconnected speaker is powered on, and the smart television is poweredoff.

FIG. 1A illustrates an example of a monitoring system 100 integratedwith a light switch panel 104. As shown in FIG. 1A, a property 102 (e.g.a home) of a user is monitored by an in-home monitoring system (e.g.in-home security system) that includes components that are fixed withinthe property 102. The in-home monitoring system may include a controlunit 106, one or more cameras 108, one or more sensors 110, one or morelights 112, and one or more light switch panels 104. The user mayintegrate the one or more light switch panels 104 into the monitoringsystem, and may configure the data displayed at each of the one or morepanels. In some examples, the light switch panel display may be an LCDdisplay.

During the configuration of the one or more light switch panels 104, thecontrol unit 106 may transfer one or more images, one or more audiofiles, and text files via z-wave to each of the one or more z-wavecapable light switch panels 104. In some implementations, the one ormore image files, audio files, and text files are transferred from abroadband panel that supports z-wave communication, and is incommunication with the one or more light switch panels 104 and thecontrol unit 106. The z-wave communication protocol is a light weightcommunication protocol that is typically used to communicate commands todevices such as binary switches and light dimmers. For example, z-wavecommunication can be used to command a garage door to close, or a doorknob to lock. Enabling the transfer of image, audio files, and textfiles to the light switch panel 104 provides the user with a lightweightlow energy file transfer. The user has the ability to add one or moreimages, audio files, and text files to the files stored at the lightswitch panel. This allows the user more options for the type of datathat may be displayed at the light switch panel 104.

In some implementations, the user may access a smart home application442 running on their user devices 440 or 450 to identify the one or morefiles to make available at the light switch panel 104. The user mayidentify one or more audio files and one or more image files. Forexample, the user may wish to display Halloween images in October. Thecontrol unit 106 may be in communication with a server that manages thesmart home application, and may receive the user selected preferences.In some implementations, the user may set a timing schedule thatidentifies a time when a particular file should be available at thelight switch panel. The control unit 106 may communicate the selectedfile to the light switch panel in advance of the specified time. Theuser may append time restrictions to the availability of a particularfile. For the example with the Halloween images, the user may specify,through the smart home application, that the Halloween images beautomatically deleted on November 1.

As illustrated in FIG. 1A, when the user selects to communicate an imagefile to the z-wave capable light switch panel 104, the control unit 106determines that the image file is an image file. The control unit 106then communicates a data packet A to the light switch panel 104 toindicate to the light switch panel 104 to expect an image file. The datapacket may be communicated to the light switch panel via z-wavecommunication. In some implementations, the data packet indicating thatan image file is expected via z-wave may be communicated by anothercommunication protocol. In some implementations, the data packet A maybe communicated to the light switch panel 104 in advance of the one ormore data packets that include the image file. In other implementations,the data packet A may be communicated to the light switch panelsimultaneously with the one or more data packets that include the imagefile.

The control unit 106 includes a segment transport manager that supportsone or more Transport specific file conversion methods. Each conversionhas an encoder and decoder method. A transport specific encoder convertsa data file portion to properly formatted records for example to theunderlying OTA transport type data transfer interface. Similarly, thesegment transport manager has a different encoder conversion method forsupplying specially formatted data records to the schedule command classtransport type data transfer interface. The segment transport managermay build one or more manifest segment files using one or more of theseselected conversion file methods. Each manifest segment file has aheader record to indicate the transport segment type encoder conversionmethod used for example a Schedule command class or OTA transporttransfer method and includes the number and size of converted records.In addition to this header record that describes the nature of convertedfile records it also has the actual converted records.

The ‘SCHEDULE_SET’ command of the Schedule Command Class may be used totransport a segmented data file by utilizing one or more existingschedule fields (e.g., month, data, weekday, hour, minute, duration,etc.) to convey a unique mapping generated by thesegment-transport-manager. The mapping information (also referred toabove as header record of a manifest segment file) is set as the initialrecord to the Schedule Command Class interface in control unit 106 andis sent from the control unit 106 to the light switch panel 104.

A corresponding decode converter method exists for each transportsegment type. Both control unit 106 and light switch panel 104 segmenttransport mangers have both encode and decode conversion methods foreach support transport segment type. The capabilities of a light switchpanel 104 are signaled to the control unit as part of typical bring upsynchronization data.

FIG. 6 illustrates an example of a Segmented Data Transport Managermanifest transfer file format and steps. FIG. 7 illustrates steps asegment transport manager uses to receive a non-traditional data filefrom a local App layer, for example in control unit 106 to transmit tolight switch panel 104. FIG. 8 illustrates steps a segment transportmanager uses to receive one or more segmented manifests from its localtransport type data OTA transfer interface, for example in the lightswitch panel to send to a local App layer E-ink display. In FIG. 7 thesegment transport manager runs decode convert techniques for eachmanifest segment transport type such as OTA, Schedule or Bulk transportinterfaces as illustrated in FIG. 1B. In FIG. 7 the segment transportmanager receiver flow includes reassembly of 1 or more convertedmanifest segments data file portions back to the original App layer datafile format that was provided to the transport segment manager in theApp layer sender device.

For an E-ink image file send example to be communicated to the lightswitch panel 104, the segment transport manager in the monitor controlunit 106 would receive the image file for example from an application inthe monitor control unit 106 and will then choose one or more transportmethods such as Schedule command class or OTA method based on thecapabilities of the light switch panel 104. Next, the segment transportmanager in the monitor control unit 106 will construct a manifest fileand create a manifest header record indicating the type of transportmethod and size of records that are formatted specifically for thechosen transport method. Next, using the selected encoding conversiontechnique(s), for example the schedule command class, the segmenttransport manager will convert an image file portion to fittransparently into the first schedule command class payload to includeone portion of the image file. The schedule command class payload mayrefer to a portion of a data packet that would typically include datathat specifies commands to follow according to the Z-Wave ApplicationCommand Class Specification. For example, the payload may be the one ormore existing schedule fields (e.g., month, data, weekday, hour, minute,duration, etc.) in the ‘SCHEDULE_SET’ command of the Schedule CommandClass

Next, the segment transport manager would convert a second data packetto include a second portion of the image file, and next convert a thirddata packet to include a third portion of the image file. In someexamples, the segment transport manager in control unit 106 maytransparently convert several of schedule command class formatted datapackets to include a portion of the image file. The manifest controlfile header indicates how many records and of which type of convertedrecords it has. In other examples, the segment transport manager inmonitor control unit 106 may alter the schedule command class payload ofa single data packet to include the image file. In another example, thesegment transport manager here may decide on multiple manifest files forspreading the image file over multiple chosen transport methods such asboth Schedule and OTA data transfer interfaces for different portions ofthe same image file.

As shown in FIG. 1B, the segment transport manager of the control unit106 alters and communicates one or more altered data packets to thelight switch panel 104. The light switch panel 104 may be configured todecode the one or more received data packets to access the image data.For example, the light switch panel 104 segment transport manager isconfigured to access the portion of the image file from the one or moredata packets of the Schedule command class and reconstruct the one ormore portions of the image file. The light switch panel segmenttransport manager has decoding conversion methods for each type of datafile transfer it supports such as a schedule command class and OTA datafile transfer. The segment transport manager in light switch panel 104receives the manifest control file header records to know how to decodethe one or more converted portions of the image file that waspartitioned and converted and sent over the one or more of selectedtransport methods by the monitor control unit 106 segment transportmanager. The light switch panel 104 segment transport manger reassemblesand stores the image file in its memory and hands it off to theapplication layer E-ink display for example that may display the file atthe panel when required.

In some implementations, the control unit 106 may transfer one or moreimages, one or more audio files, and/or one or more text files viaz-wave to a light switch panel 104 using an over the air (OTA) filetransfer method. The control unit 106 may communicate with a lightswitch panel 104 using the OTA file transfer method when the lightswitch panel 104 supports the OTA file transfer method. In theseimplementations, when the user selects to communicate an image file toan OTA file transfer method capable light switch panel 104, the controlunit 106 communicates an adapted boot file to the light switch panel104. The adapted boot file may include a header that notifies the lightswitch panel 104 that the boot file is an adapted boot file. When theadapted boot file is communicated to light switch panel 104, the lightswitch panel 104 determines that the adapted boot file is an applicationfile based on the data in the header of the adapted boot file. The lightswitch panel 104 triggers an application layer to run the applicationfile to output the image file, the audio file, or the text file. Forexample, the control unit 106 may communicate a firmware update file tothe light switch panel 104, the firmware update file may include aheader that indicates the file is an application file then when executedgenerates an image file, audio file, or text file at the light switchpanel 104. For another example, the segment transport manager of thecontrol unit 106 may communicate an adapted boot file to a chime device458. The chime device 458 determines that the adapted boot file is anapplication file that generates an audio file, image file, or text fileat the chime device 458.

In some implementations, the light switch panel 104 may include asensory capture or gathering function. In these implementations, animage or audio based or multiple environmental sensor array capturefunction may produce, for example, an image, audio, text, or data file.The image, audio, text, or data file may use a similar but reverse filetransmission path method where the file is also segmented into smallertransparently encapsulated data packets. The encapsulated data packetsare communicated as a set of sequential data segments to the controlunit 106 using a new command class. The data packets are thenreassembled into a data file, triggering the application level method toretrieve it. For data destined to the control unit, this may be enabledwith a new z-wave communication command class.

In some implementations, the sensory data capture file may use a similarmetadata marking header that describes the content, segmentationcharacteristics, transport paths, and reassembly methods to use. Asegment transport manager may manage the segmentation and reassembly ofthe data segments. In some implementations, the segmentation manifeststructure may include header data of characteristics of segmentationmethod used that is pertinent to reassembly. The segmentation manifestmay also include all the segments specific to each transport methodselected. For example, the selected transportation method may include aschedule or OTA based existing transport methods. In someimplementations, one or more segmentation manifests may exist to allowmultiple transport paths to be used by the segment transport managereither at the same time in parallel or in a serial fashion. These aredecisions made by the segment transport manager based on an evaluationof the paths in the mesh to the destination device.

A common segmentation and reassembly method could be used regardless ofwhich way the data file is sent. The transfer method may includeprefixing data to indicate the type of data it represents and to whichapplication or session the data file's destination is. Both thesegmentation and reassembly methods have a segment transport manager.Segmentation and reassembly methods may be further adapted based onwhether segmented items are to be encapsulated into a schedule commandclass, adapted OTA based container, or a new Z-wave command class. Thesegment transport manager may use one or multiple transport methods inparallel or sequentially depending on characteristics of transportmedium or paths available between the source device and receiving deviceof the data file.

The control unit 106 may determine the best method to transport databased on: 1) the command class supported capabilities of the device towhich the data file is to be sent, for example in the file transfer pathto a device such as light switch panel 104 does that device support anadapted OTA or does it support a schedules command class, 2) for eachtransport option to the destination device, what is available bandwidthto the receiving device, 3) for each transport option to the destinationdevice what is the historical or latest error rate to the receivingdevice, 4) could multiple transport methods be used for example by usingthe z-wave mesh and a portion of the file may be sent using speciallyencoded data into transparent data payloads for the Schedules commandclass while a different portion of the file may be sent using the OTAfile transfer.

Additionally or alternatively, an option may be using a new 2-way datafile transfer command class. After gathering the transport mediumcharacteristics and options then the segmentation method is given theinformation on how to segment up the data file and where to pass it onto one or multiple transport interfaces. This produces one or moresegmented manifests each for one or multiple transport methods. Asegment transport manager is triggered and each transport interfaceparses the respective transport specific manifest to send the segment ofdata to the destination. The segment transport manager may include anerror checking and recovery step and may decide to change one ormultiple transport paths during the active file transfer.

The reassembly logic similarly has a reciprocal set of steps performedby a similar segment transport manager in the other device 1) it mayfirst respond to help gather measurement characteristics to helpcharacterize the capability of a segment transport type 2) receives andmanages local storage for the actual segmentation manifest based on theone or multiple transport methods chosen 3) may get an update to the oneor more segmentation manifests. For example one of the transport methodsmay get blocked or prevented from operating during the data transferprocess and requires an extension manifest update to occur over theother working transport interfaces.

In some implementations, the light switch panel 104 may be configured todisplay current status conditions of the monitored property 102 alongwith the status of the one or more lights at the property 102. Forexample, the light switch panel 104 may display the alarm condition suchas fire alarm, current time, and weather data. In some examples, thelight switch panel 104 may display the HVAC system status from HVACcomponents 437 or thermostat 434. For example, the light switch panel104 may display the current temperature of the property 102, orthermostat 434. In the examples where the monitored property 102includes one or more light switch panels 104, the user may configure thedata to be displayed on each of the one or more light switch panels 104.For example, the user may access the light switch panel 104 to selectthe data to display on the specific panel. In some implementations, thelight switch panel 104 may display text data indicating when themonitored property 102 is in an energy saving mode. In theseimplementations, when the monitored property 102 is in an energy savingmode, the light switch panel 104 may restrict the use of one or morelights 112 or other devices.

In some examples, the user may access the smart home application 442 ontheir user devices 440 or 450 to remotely switch a light 112 on or off.During set up of the user's profile on the smart home application, theuser may provide one or more user image files to be stored inassociation with the user profile. When the user accesses the smart homeapplication 442 to remotely switch a light 112 on or off, the lightswitch panel 104 may display the user image. For example, when a userJohn switches on the light 112, through the smart home application 442,the light switch panel 104 displays the user image, and a text fileindicating that John switched on light 112. The light switch panel 104may be configured to display the user image of the user accountassociated with changing the status of light 112.

In some implementations, the light switch panel 104 may act as anintegrated security device 480 at the property 102. In theseimplementations, the user may view the current armed status of the homemonitoring system 400 and perform one or more actions of the homemonitoring system 400. For example, the user may arm and or disarm thehome monitoring system 400 at the light switch panel 104.

In some implementations, the monitored property 102 may include one ormore other z-wave capable devices. In these implementations, the controlunit 106 may transfer one or more audio files, image files, and/or textfiles to the one or more z-wave capable devices as described above. Forexample, the property 102 may include a z-wave capable doorbell chimedevice 458. The chime device 458 may output an audible chime when avisitor arrives at the property 102 and presses the button on or isdetected by a smart doorbell, or a sensor 420 detects motion or otherevents. The control unit 106 may be configured to transfer one or moreaudio files, image files, and/or text files to the chime device 458 viaz-wave communication. The user may access the smart home application 442to assign a particular chime to a user. The monitoring system 400 at theproperty 102 may be configured to determine the identity of a visitorwhen the visitor presses the but on or is detected by a smart doorbellat the property 102. The monitoring system 400 may utilize videoanalytics and/or facial recognition software to identify the user. Thedoorbell chime device is configured to output a selected audible chime,announcement, text to speech message, associated with a user based onthe determined identity of the user, or not output anything.

FIG. 2 illustrates an example of a display at a light switch panel. Asillustrated, the control unit 106 at the monitored property 102 maydetect a fire alarm condition. The control unit 106 may detect a firealarm condition based on received sensor 110 data. For example, themonitor control unit 106 may receive sensor 110 data from a smokedetector. In some implementations, the monitor control unit 106 maygenerate an audible alarm when the control unit 106 detects a fire alarmcondition. For the example illustrated in FIG. 2 , the monitor controlunit 106 communicates the fire alarm data to the light switch panel 104.The light switch panel 104 may be a z-wave capable device that isconfigured to display status information. The light switch panel 104 maybe mounted to a wall near the entrance of a room. For example, the lightswitch panel 104 may be mounted to the wall near the door to the masterbedroom. In some examples, the light switch panel 104 may replace thetraditional light switch in a room. In some implementations, themonitored property 102 may be integrated with one or more light switchpanels 104. The one or more light switch panels 104 may be locatedthroughout the property 102. For example, each room of the property 102may be integrated with a light switch panel 104.

The light switch panel 104 may be configured to directly or indirectlycontrol, and provide a status of the one or more lights 112 throughoutthe monitored property. In some examples, where each room of theproperty is integrated with a light switch panel 104, the light switchpanel 104 may directly control one or more lights by switching theirpower supply or other methods and may display the status of one or morelights 112 within the particular room. For example the light switchpanel 104 may indicate that light A is switched on, and how much powerit is consuming. In other examples, where the monitored property isintegrated with a single light switch panel 104, the light switch panel104 may be mounted to a wall of a room selected by the resident. Forexample, the light switch panel 104 may be mounted to the wall in themaster bedroom or the kitchen, and may directly or indirectly controland display the status of the one or more lights throughout the property102.

The light switch panel 104 may be configured to display status dataassociated with the monitoring system 400 at the property 102. Forexample, the light switch panel 104 may indicate the armed status of themonitored property, the current weather conditions, the currentthermostat 434 temperature, the current energy consumption of theproperty, and any other suitable data associated with the property. Asillustrated in FIG. 2 , the light switch panel 104 display may thecurrent date and time, the status of one or more lights, and any othersettings data.

When the monitor control unit 106 detects the alarm condition andcommunicates the alarm condition to the light switch panel 104, thelight switch panel 104 may display image and/or text data specific tothe detected alarm condition. The monitor control unit 106 maycommunicate the alarm condition data via Z-Wave, Bluetooth, or someother forms of wireless or wired communication. As illustrated, thelight switch panel 104 displays text data instructing the occupants toexit the room. In some implementations, the light switch panel 104 mayidentify a safe exit route for the occupants of the property 102. Forexample, the light switch panel 104 may be configured to turn on or offdirectly connected lights 112 to assist in the safe exit for theoccupants of the property 102. Implementations where the monitoredproperty 102 is integrated with one or more connected doorknob devices,the light switch panel 104 may turn on lights 112 along the exit routeand instruct the occupants to follow the green LEDs on the connecteddoorknobs to safety. In some implementations, the light switch panel 104may turn on lights 112 and output an audible chime file to alert theoccupants to the detected fire alarm condition.

In some implementations, the light switch panel 104 may have a normalstate where the light switch panel acts as a switch for exactly onelight/appliance/circuit. For example, the light switch panel 104 maytypically be in the normal state, e.g., 99% of the time, and in thenormal state display a state of the light 112 and be ready to receiveinput to the light 112 with the majority of its screen area (ormechanical input devices). The light switch panel 104 may be put intoother modes manually, e.g., by pressing a small onscreen button,pressing and holding one or more mechanical input devices, or clappingat it.

FIG. 3 illustrates an example process 300 for storing a non-traditionalfile. The monitoring system communicates a first data packet to areceiving device (310). The first data packet may indicate to thereceiving device that the monitor control unit 106 may communicate anon-traditional file type to the receiving device. For example, thefirst data packet may indicate that an audio file may be communicated toa light switch panel 104. A non-traditional file is a file that is nottraditionally communicated with a particular communication protocol. Forexample, a non-traditional file for z-wave communication may includeaudio files, text files, image files, or any other appropriate mediafile. The first data packet may be a data packet that includes a source,a destination, data, and a size. The data portion of the first datapacket may include data that indicates that a non-traditional file maybe communicated by a specific communication protocol. For example, thedata portion may indicate that a chime file may be communicated byz-wave to the light switch panel 104. The non-traditional file may be atext file, an audio file, an image data, or any other suitable mediafile that is not traditionally communicated over a z-wave communicationprotocol. The first data packet may indicate the number of data packetsthat will be included in the data transmission. The monitoring systemalters one or more data packets to include the non-traditional to becommunication (320). In some implementations, the control unit 106 maybe configured to alter a schedule portion of one or more data packets tocommunicate the non-traditional file over z-wave. In theseimplementations, the monitoring system may alter the one or moreschedule identifiers (IDs) available over the z-wave network at themonitored property 102. For example, the monitoring system may alter theschedule IDs to embed at least a portion of a non-traditional file in asingle data packet. In some examples, the monitoring system may alterthe schedule IDs to embed at least a portion of a non-traditional filein one or more data packets.

The monitoring system communicates the one or more altered data packetsthat include the non-traditional file to the receiving device (330). Insome implementations, the monitoring system may communicate the one ormore data packets via z-wave to the light switch panel 104. Altering theone or more schedule IDs allows the system to embed the non-traditionalfiles within the schedule IDs to facilitate the communication of thenon-traditional files over z-wave. The system may communicate up to 64kilobytes of non-traditional data files via z-wave through the use ofthe scheduling IDs.

In some implementations, the monitoring system may communicate the oneor more altered data packets that include the non-traditional data filesto the light switch panel 104 during a configuration of the panel. Forexample, the monitoring system may communicate one or more chime filesor image files to the light switch panel 104 during configuration. Inother implementations, the monitoring system may communicate thenon-traditional data files to the light switch panel 104 when promptedby a resident of the property. For example, the resident may wish toupdate the one or more chimes output from the light switch panel 104.The resident may access a smart home application on the resident's userdevices 440 or 450 to select one or more chimes to output from the panel104. For example, the user may select to update the chimes to includeHoliday music, or the sound of a pump-action shotgun being pumped todeter burglary of the property 102. The monitoring system may thencommunicate the one or more altered data packets that include theHoliday music or shotgun chime files to the light switch panel 104, orchime device 458.

The receiving device receives the one or more altered data packets thatinclude the non-traditional file (340). The receiving device may beconfigured to decode the one or more altered data packets that includethe non-traditional files. For example, the application software runningat the light switch panel 104 decodes the one or more data packets toaccess chime data. For example, the receiving device may decode the oneor more data packets to access the one or more portions of the chimedata, and may compile the one or more portions of the chime data into asingle chime file.

In some implementations, the monitoring control unit 106 may communicatea data packet to the receiving device that includes the data thatprovides the receiving device with the instructions to decode thereceived data. For example, the monitoring control unit 106 maycommunicate a data packet to a smart doorbell providing instructions todecode received chime data. The receiving device stores thenon-traditional file (350). The receiving device may store the receivednon-traditional file in its memory.

In some implementations, the monitoring system communicates an adaptedboot file to the receiving device over the OTA file transfer method. Forexample, when the receiving device is a OTA capable z-wave device, themonitoring system communicates an adapted boot file to the device. Theadapted boot file may include a header that notifies the light switchpanel 104 that the boot file is an adapted boot file. When the adaptedboot file is communicated to light switch panel 104, the light switchpanel 104 determines that the adapted boot file is an application filebased on the data in the header of the adapted boot file. The lightswitch panel 104 triggers an application layer to run the applicationfile to output the image file, the audio file, or the text file. Forexample, the monitoring system may communicate an application file, thatwhen executed outputs one or more audio file at a chime device 458.

FIG. 4 is a diagram illustrating an example of a home monitoring system400. The electronic system 400 includes a network 405, a control unit410, one or more user devices 440 and 450, a monitoring server 460, anda central alarm station server 470. In some examples, the network 405facilitates communications between the control unit 410, the one or moreuser devices 440 and 450, the monitoring server 460, one or more smartdoorbells, and the central alarm station server 470.

The network 405 is configured to enable exchange of electroniccommunications between devices connected to the network 405. Forexample, the network 405 may be configured to enable exchange ofelectronic communications between the control unit 410, the one or moreuser devices 440 and 450, the monitoring server 460, and the centralalarm station server 470. The network 405 may include, for example, oneor more of the Internet, Wide Area Networks (WANs), Local Area Networks(LANs), analog or digital wired and wireless telephone networks (e.g., apublic switched telephone network (PSTN), Integrated Services DigitalNetwork (ISDN), a cellular network, and Digital Subscriber Line (DSL)),radio, television, cable, satellite, or any other delivery or tunnelingmechanism for carrying data. Network 405 may include multiple networksor subnetworks, each of which may include, for example, a wired orwireless data pathway. The network 405 may include a circuit-switchednetwork, a packet-switched data network, or any other network able tocarry electronic communications (e.g., data or voice communications).For example, the network 405 may include networks based on the Internetprotocol (IP), asynchronous transfer mode (ATM), the PSTN,packet-switched networks based on IP, X.25, or Frame Relay, or othercomparable technologies and may support voice using, for example, VoIP,or other comparable protocols used for voice communications. The network405 may include one or more networks that include wireless data channelsand wireless voice channels. The network 405 may be a wireless network,a broadband network, or a combination of networks including a wirelessnetwork and a broadband network.

The control unit 410 includes a controller 412 and a network module 414.The controller 412 is configured to control a control unit monitoringsystem (e.g., a control unit system) that includes the control unit 410.In some examples, the controller 412 may include a processor or othercontrol circuitry configured to execute instructions of a program thatcontrols operation of a control unit system. In these examples, thecontroller 412 may be configured to receive input from sensors, flowmeters, smart doorbells, or other devices included in the control unitsystem and control operations of devices included in the household(e.g., speakers, lights 112, light switch panels 457, chime devices 458,doors, etc.). For example, the controller 412 may be configured tocontrol operation of the network module 414 included in the control unit410.

The network module 414 is a communication device configured to exchangecommunications over the network 405. The network module 414 may be awireless communication module configured to exchange wirelesscommunications over the network 405. For example, the network module 414may be a wireless communication device configured to exchangecommunications over a wireless data channel and a wireless voicechannel. In this example, the network module 414 may transmit alarm dataover a wireless data channel and establish a two-way voice communicationsession over a wireless voice channel. The wireless communication devicemay include one or more of a LTE module, a GSM module, a radio modem,cellular transmission module, or any type of module configured toexchange communications in one of the following formats: LTE, GSM orGPRS, CDMA, EDGE or EGPRS, EV-DO or EVDO, UMTS, or IP.

The network module 414 also may be a wired communication moduleconfigured to exchange communications over the network 405 using a wiredconnection. For instance, the network module 414 may be a modem, anetwork interface card, or another type of network interface device. Thenetwork module 414 may be an Ethernet network card configured to enablethe control unit 410 to communicate over a local area network and/or theInternet. The network module 414 also may be a voice band modemconfigured to enable the alarm panel to communicate over the telephonelines of Plain Old Telephone Systems (POTS).

The control unit system that includes the control unit 410 may includeone or more sensors. For example, the monitoring system may includemultiple sensors 420. The sensors 420 may include a lock sensor, acontact sensor, a motion sensor, or any other type of sensor included ina control unit system. The sensors 420 also may include an environmentalsensor, such as a temperature sensor, a water sensor, a rain sensor, awind sensor, a light sensor, a smoke detector, a carbon monoxidedetector, an air quality sensor, etc. The sensors 420 further mayinclude a health monitoring sensor, such as a prescription bottle sensorthat monitors taking of prescriptions, a blood pressure sensor, a bloodsugar sensor, a bed mat configured to sense presence of liquid (e.g.,bodily fluids) on the bed mat, etc. In some examples, the healthmonitoring sensor can be a wearable sensor that attaches to a user inthe home. The health monitoring sensor can collect various health data,including pulse, heart-rate, respiration rate, sugar or glucose level,bodily temperature, or motion data. The sensors 420 can also include aradio-frequency identification (RFID) sensor that identifies aparticular article that includes a pre-assigned RFID tag. Additionallylight switch panels 457, smart doorbells, electrical energy usagemonitors, smart power meters, cameras 430, thermostats 434, and homeautomation 422 devices are sensors that may be included.

The control unit 410 communicates with the home automation controls 422and a camera 430 to perform monitoring. The home automation controls 422are connected to one or more devices that enable automation of actionsin the home. For instance, the home automation controls 422 may beconnected to one or more light switch panels 457, and may be configuredto control operation of the one or more lights 112 connected to a lightswitch panel 457. Also, the home automation controls 422 may beconnected to one or more electronic locks at the home and may beconfigured to control operation of the one or more electronic locks(e.g., control Z-Wave locks using wireless communications in the Z-Waveprotocol). Further, the home automation controls 422 may be connected toone or more appliances at the home and may be configured to controloperation of the one or more appliances. The home automation controls422 may include multiple modules that are each specific to the type ofdevice being controlled in an automated manner. The home automationcontrols 422 may control the one or more devices based on commandsreceived from the control unit 410. For instance, the home automationcontrols 422 may cause a light switch panel 457 to turn on a light 112to illuminate an area to provide a better image of the area whencaptured by a camera 430.

The camera 430 may be a video/photographic camera or other type ofoptical sensing device configured to capture images. For instance, thecamera 430 may be configured to capture images of an area within abuilding or home monitored by the control unit 410. The camera 430 maybe configured to capture single, static images of the area and alsovideo images of the area in which multiple images of the area arecaptured at a relatively high frequency (e.g., thirty images persecond). The camera 430 may be controlled based on commands receivedfrom the control unit 410.

The camera 430 may be triggered by several different types oftechniques. For instance, a Passive Infra-Red (PIR) motion sensor may bebuilt into the camera 430 and used to trigger the camera 430 to captureone or more images when motion is detected. The camera 430 also mayinclude a microwave motion sensor built into the camera and used totrigger the camera 430 to capture one or more images when motion isdetected. The camera 430 may have a “normally open” or “normally closed”digital input that can trigger capture of one or more images whenexternal sensors (e.g., the sensors 420, PIR, door/window, etc.) detectmotion or other events. In some implementations, the camera 430 receivesa command to capture an image when external devices detect motion oranother potential alarm event. The camera 430 may receive the commandfrom the controller 412 or directly from one of the sensors 420. In someexamples, the camera 430 triggers integrated or external illuminators(e.g., Infra-Red, Z-wave controlled “white” lights, lights controlled bythe home automation controls 422 including lighting switch panel 457,etc.) to improve image quality when the scene is dark. An integrated orseparate light sensor may be used to determine if illumination isdesired and may result in increased image quality.

The camera 430 may be programmed with any combination of time/dayschedules, system “arming state”, or other variables to determinewhether images should be captured or not when triggers occur. The camera430 may enter a low-power mode when not capturing images. In this case,the camera 430 may wake periodically to check for inbound messages fromthe controller 412. The camera 430 may be powered by internal,replaceable batteries if located remotely from the control unit 410. Thecamera 430 may employ a small solar cell to recharge the battery whenlight is available. Alternatively, the camera 430 may be powered by thecontroller's 412 power supply if the camera 430 is co-located with thecontroller 412. In some implementations, the camera 430 communicatesdirectly with the monitoring server 460 over the Internet. In theseimplementations, image data captured by the camera 430 does not passthrough the control unit 410 and the camera 430 receives commandsrelated to operation from the monitoring server 460.

The system 400 also includes thermostat 434 to perform dynamicenvironmental control at the home. The thermostat 434 is configured tomonitor temperature and/or energy consumption of an HVAC systemassociated with the thermostat 434, and is further configured to providecontrol of environmental (e.g., temperature) settings. In someimplementations, the thermostat 434 can additionally or alternativelyreceive data relating to activity at a home and/or environmental data ata home, e.g., at various locations indoors and outdoors at the home. Thethermostat 434 can directly measure energy consumption of the HVACsystem associated with the thermostat, or can estimate energyconsumption of the HVAC system associated with the thermostat 434, forexample, based on detected usage of one or more components of the HVACsystem associated with the thermostat 434. The thermostat 434 cancommunicate temperature and/or energy monitoring information to or fromthe control unit 410 and can control the environmental (e.g.,temperature) settings based on commands received from the control unit410.

In some implementations, the thermostat 434 is a dynamicallyprogrammable thermostat and can be integrated with the control unit 410.For example, the dynamically programmable thermostat 434 can include thecontrol unit 410, e.g., as an internal component to the dynamicallyprogrammable thermostat 434. In addition, the control unit 410 can be agateway device that communicates with the dynamically programmablethermostat 434. In some implementations, the thermostat 434 iscontrolled via one or more home automation controls 422.

A module 437 is connected to one or more components of an HVAC systemassociated with a home, and is configured to control operation of theone or more components of the HVAC system. In some implementations, themodule 437 is also configured to monitor energy consumption of the HVACsystem components, for example, by directly measuring the energyconsumption of the HVAC system components or by estimating the energyusage of the one or more HVAC system components based on detecting usageof components of the HVAC system. The module 437 can communicate energymonitoring information and the state of the HVAC system components tothe thermostat 434 and can control the one or more components of theHVAC system based on commands received from the thermostat 434.

The system 400 includes one or more light switch panels 457. Each of theone or more switch panels are display panels that may be mounted to thewall of a room, and are configured to display user configurable content.In some examples, the one or more light switch panels 457 may be e-ink,LCD, OLED, or any other appropriate display panel. A light switch panelis a z-wave capable or otherwise remotely controllable device that isconfigured to communicate with the control unit 410 at the monitoredproperty. The light switch panel displays the status of the one or morelights at the monitored property.

The system 400 includes one or more chime devices 458. Each of the oneor more chime devices 458 are capable of audio output. Chime devices arez-wave capable or otherwise remotely controllable devices. Themonitoring system may be in communication with the one or more chimedevices.

The monitor control unit 410 is configured to communicate with each ofthe one or more light switch panels 457, and each of the one or morechime devices 458. The monitor control unit 410 may communicatenon-traditional files, such as, image files, audio files, and text filesto each of the light switch panel 457 and the chime device 458. Themonitoring control unit may communicate with the z-wave capable devicesby adjusting the schedule command class of a data file, or by using anover the air transfer method.

In some examples, the light switch panels 457 may include data captureand recording devices. In these examples, the light switch panels 457may include one or more cameras, one or more motion sensors, one or moremicrophones, one or more biometric data collection tools, one or moretemperature sensors, one or more humidity sensors, one or more air flowsensors, and/or any other types of sensors that may be useful incapturing monitoring data related to the home and users in the home. Theone or more biometric data collection tools may be configured to collectbiometric samples of a person in the home with or without contact of theperson. For instance, the biometric data collection tools may include afingerprint scanner, a hair sample collection tool, a skin cellcollection tool, and/or any other tool that allows the light switchpanels 457 to take and store a biometric sample that can be used toidentify the person (e.g., a biometric sample with DNA that can be usedfor DNA testing). In some implementations, the light switch panels 457may include output devices. In these implementations, the light switchpanels 457 may include one or more displays, one or more speakers,and/or any type of output devices that allow the light switch panels 457to communicate information to a nearby user.

The light switch panels 457 also may include a communication module thatenables the light switch panels 457 to communicate with the control unit410, each other, and/or other devices. The communication module may be awireless communication module that allows the light switch panels 457 tocommunicate wirelessly. For instance, the communication module may be aWi-Fi module that enables the light switch panels 457 to communicateover a local wireless network at the home. The communication modulefurther may be a 900 MHz wireless communication module that enables thelight switch panels 457 to communicate directly with the control unit410. Other types of short-range wireless communication protocols, suchas Bluetooth, Bluetooth LE, Z-wave, Zigbee, etc., may be used to allowthe light switch panels 457 to communicate with other devices in thehome. In some implementations, the light switch panels 457 maycommunicate with each other or with other devices of the system 400through the network 405.

The light switch panels 457 further may include processor and storagecapabilities. The light switch panels 457 may include any suitableprocessing devices that enable the light switch panels 457 to operateapplications and perform the actions described throughout thisdisclosure. In addition, the light switch panels 457 may include solidstate electronic storage that enables the light switch panels 457 tostore applications, configuration data, collected sensor data, and/orany other type of information available to the light switch panels 457.

In some examples, the system 400 further includes one or more roboticdevices 490. The robotic devices 490 may be any type of robots that arecapable of moving and taking actions that assist in home monitoring. Forexample, the robotic devices 490 may include drones that are capable ofmoving throughout a home based on automated control technology and/oruser input control provided by a user. In this example, the drones maybe able to fly, roll, walk, or otherwise move about the home. The dronesmay include helicopter type devices (e.g., quad copters), rollinghelicopter type devices (e.g., roller copter devices that can fly andalso roll along the ground, walls, or ceiling) and land vehicle typedevices (e.g., automated cars that drive around a home). In some cases,the robotic devices 490 may be robotic devices 490 that are intended forother purposes and merely associated with the system 400 for use inappropriate circumstances. For instance, a robotic vacuum cleaner devicemay be associated with the monitoring system 400 as one of the roboticdevices 490 and may be controlled to take action responsive tomonitoring system events.

In some examples, the robotic devices 490 automatically navigate withina home. In these examples, the robotic devices 490 include sensors andcontrol processors that guide movement of the robotic devices 490 withinthe home. For instance, the robotic devices 490 may navigate within thehome using one or more cameras, one or more proximity sensors, one ormore gyroscopes, one or more accelerometers, one or more magnetometers,a global positioning system (GPS) unit, an altimeter, one or more sonaror laser sensors, and/or any other types of sensors that aid innavigation about a space. The robotic devices 490 may include controlprocessors that process output from the various sensors and control therobotic devices 490 to move along a path that reaches the desireddestination and avoids obstacles. In this regard, the control processorsdetect walls or other obstacles in the home and guide movement of therobotic devices 490 in a manner that avoids the walls and otherobstacles.

In addition, the robotic devices 490 may store data that describesattributes of the home. For instance, the robotic devices 490 may storea floorplan and/or a three-dimensional model of the home that enablesthe robotic devices 490 to navigate the home. During initialconfiguration, the robotic devices 490 may receive the data describingattributes of the home, determine a frame of reference to the data(e.g., a home or reference location in the home), and navigate the homebased on the frame of reference and the data describing attributes ofthe home. Further, initial configuration of the robotic devices 490 alsomay include learning of one or more navigation patterns in which a userprovides input to control the robotic devices 490 to perform a specificnavigation action (e.g., fly to an upstairs bedroom and spin aroundwhile capturing video and then return to a home charging base). In thisregard, the robotic devices 490 may learn and store the navigationpatterns such that the robotic devices 490 may automatically repeat thespecific navigation actions upon a later request.

In some examples, the robotic devices 490 may include data capture andrecording devices. In these examples, the robotic devices 490 mayinclude one or more cameras, one or more motion sensors, one or moremicrophones, one or more biometric data collection tools, one or moretemperature sensors, one or more humidity sensors, one or more air flowsensors, and/or any other types of sensors that may be useful incapturing monitoring data related to the home and users in the home. Theone or more biometric data collection tools may be configured to collectbiometric samples of a person in the home with or without contact of theperson. For instance, the biometric data collection tools may include afingerprint scanner, a hair sample collection tool, a skin cellcollection tool, and/or any other tool that allows the robotic devices490 to take and store a biometric sample that can be used to identifythe person (e.g., a biometric sample with DNA that can be used for DNAtesting). In some implementations, the robotic devices 490 may includeoutput devices. In these implementations, the robotic devices 490 mayinclude one or more displays, one or more speakers, and/or any type ofoutput devices that allow the robotic devices 490 to communicateinformation to a nearby user.

The robotic devices 490 also may include a communication module thatenables the robotic devices 490 to communicate with the control unit410, each other, and/or other devices. The communication module may be awireless communication module that allows the robotic devices 490 tocommunicate wirelessly. For instance, the communication module may be aWi-Fi module that enables the robotic devices 490 to communicate over alocal wireless network at the home. The communication module further maybe a 900 MHz wireless communication module that enables the roboticdevices 490 to communicate directly with the control unit 410. Othertypes of short-range wireless communication protocols, such asBluetooth, Bluetooth LE, Z-wave, Zigbee, etc., may be used to allow therobotic devices 490 to communicate with other devices in the home. Insome implementations, the robotic devices 490 may communicate with eachother or with other devices of the system 400 through the network 405.

The robotic devices 490 further may include processor and storagecapabilities. The robotic devices 490 may include any suitableprocessing devices that enable the robotic devices 490 to operateapplications and perform the actions described throughout thisdisclosure. In addition, the robotic devices 490 may include solid stateelectronic storage that enables the robotic devices 490 to storeapplications, configuration data, collected sensor data, and/or anyother type of information available to the robotic devices 490.

The robotic devices 490 are associated with one or more chargingstations. The charging stations may be located at predefined home baseor reference locations in the home. The robotic devices 490 may beconfigured to navigate to the charging stations after completion oftasks needed to be performed for the monitoring system 400. Forinstance, after completion of a monitoring operation or upon instructionby the control unit 410, the robotic devices 490 may be configured toautomatically fly to and land on one of the charging stations. In thisregard, the robotic devices 490 may automatically maintain a fullycharged battery in a state in which the robotic devices 490 are readyfor use by the monitoring system 400.

The charging stations may be contact based charging stations and/orwireless charging stations. For contact based charging stations, therobotic devices 490 may have readily accessible points of contact thatthe robotic devices 490 are capable of positioning and mating with acorresponding contact on the charging station. For instance, ahelicopter type robotic device may have an electronic contact on aportion of its landing gear that rests on and mates with an electronicpad of a charging station when the helicopter type robotic device landson the charging station. The electronic contact on the robotic devicemay include a cover that opens to expose the electronic contact when therobotic device is charging and closes to cover and insulate theelectronic contact when the robotic device is in operation.

For wireless charging stations, the robotic devices 490 may chargethrough a wireless exchange of power. In these cases, the roboticdevices 490 need only locate themselves closely enough to the wirelesscharging stations for the wireless exchange of power to occur. In thisregard, the positioning needed to land at a predefined home base orreference location in the home may be less precise than with a contactbased charging station. Based on the robotic devices 490 landing at awireless charging station, the wireless charging station outputs awireless signal that the robotic devices 490 receive and convert to apower signal that charges a battery maintained on the robotic devices490.

In some implementations, each of the robotic devices 490 has acorresponding and assigned charging station such that the number ofrobotic devices 490 equals the number of charging stations. In theseimplementations, the robotic devices 490 always navigate to the specificcharging station assigned to that robotic device. For instance, a firstrobotic device may always use a first charging station and a secondrobotic device may always use a second charging station. In someexamples, the robotic devices 490 may share charging stations. Forinstance, the robotic devices 490 may use one or more community chargingstations that are capable of charging multiple robotic devices 490. Thecommunity charging station may be configured to charge multiple roboticdevices 490 in parallel. The community charging station may beconfigured to charge multiple robotic devices 490 in serial such thatthe multiple robotic devices 490 take turns charging and, when fullycharged, return to a predefined home base or reference location in thehome that is not associated with a charger. The number of communitycharging stations may be less than the number of robotic devices 490.Also, the charging stations may not be assigned to specific roboticdevices 490 and may be capable of charging any of the robotic devices490. In this regard, the robotic devices 490 may use any suitable,unoccupied charging station when not in use. For instance, when one ofthe robotic devices 490 has completed an operation or is in need ofbattery charge, the control unit 410 references a stored table of theoccupancy status of each charging station and instructs the roboticdevice to navigate to the nearest charging station that is unoccupied.

The system 400 further includes one or more integrated security devices480. The one or more integrated security devices may include any type ofdevice used to provide alerts based on received sensor data. Forinstance, the one or more control units 410 may provide one or morealerts to the one or more integrated security input/output devices 480or light switch panels 457. Additionally, the one or more control units410 may receive one or more sensor data from the sensors 420 anddetermine whether to provide an alert to the one or more integratedsecurity input/output devices 480.

The sensors 420, the home automation controls 422 including light switchpanels 457 and chime devices 458, the camera 430, the thermostat 434,and the integrated security devices 480 may communicate with thecontroller 412 over communication links 424, 426, 428, 432, 438, and484. The communication links 424, 426, 428, 432, 438, and 484 may be awired or wireless data pathway configured to transmit signals from thesensors 420, the home automation controls 422 including light switchpanels 457 and chime devices 458, the camera 430, the thermostat 434,and the integrated security devices 480 to the controller 412. Thesensors 420, the home automation controls 422 including light switchpanels 457 and chime devices 458, the camera 430, the thermostat 434,and the integrated security devices 480 may continuously transmit sensedvalues to the controller 412, periodically transmit sensed values to thecontroller 412, or transmit sensed values to the controller 412 inresponse to a change in a sensed value.

The communication links 424, 426, 428, 432, 438, and 484 may include alocal network. The sensors 420, the home automation controls 422including light switch panels 457 and chime devices 458, the camera 430,the thermostat 434, and the integrated security devices 480, and thecontroller 412 may exchange data and commands over the local network.The local network may include 802.11 “Wi-Fi” wireless Ethernet (e.g.,using low-power Wi-Fi chipsets), Z-Wave, Zigbee, Bluetooth, “Homeplug”or other “Powerline” networks that operate over AC wiring, and aCategory 5 (CAT5) or Category 6 (CAT6) wired Ethernet network. The localnetwork may be a mesh network constructed based on the devices connectedto the mesh network.

The monitoring server 460 is an electronic device configured to providemonitoring services by exchanging electronic communications with thecontrol unit 410, the one or more user devices 440 and 450, and thecentral alarm station server 470 over the network 405. For example, themonitoring server 460 may be configured to monitor events (e.g., alarmevents) generated by the control unit 410. In this example, themonitoring server 460 may exchange electronic communications with thenetwork module 414 included in the control unit 410 to receiveinformation regarding events (e.g., alerts) detected by the control unit410. The monitoring server 460 also may receive information regardingevents (e.g., alerts) from the one or more user devices 440 and 450. Insome examples, the monitoring server 460 may route alert data receivedfrom the network module 414 or the one or more user devices 440 and 450to the central alarm station server 470. For example, the monitoringserver 460 may transmit the alert data to the central alarm stationserver 470 over the network 405.

The monitoring server 460 may store sensor and image data received fromthe monitoring system and perform analysis of sensor and image datareceived from the monitoring system. Based on the analysis, themonitoring server 460 may communicate with and control aspects of thecontrol unit 410 or the one or more user devices 440 and 450. Themonitoring server 460 may provide various monitoring services to thesystem 400. For example, the monitoring server 460 may analyze thesensor, image, and other data to determine an activity pattern of aresident of the home monitored by the system 400. In someimplementations, the monitoring server 460 may analyze the data foralarm conditions or may determine and perform actions at the home byissuing commands to one or more of the controls 422, possibly throughthe control unit 410.

The central alarm station server 470 is an electronic device configuredto provide alarm monitoring service by exchanging communications withthe control unit 410, the one or more mobile devices 440 and 450, andthe monitoring server 460 over the network 405. For example, the centralalarm station server 470 may be configured to monitor alerting eventsgenerated by the control unit 410. In this example, the central alarmstation server 470 may exchange communications with the network module414 included in the control unit 410 to receive information regardingalerting events detected by the control unit 410. The central alarmstation server 470 also may receive information regarding alertingevents from the one or more mobile devices 440 and 450 and/or themonitoring server 460.

The central alarm station server 470 is connected to multiple terminals472 and 474. The terminals 472 and 474 may be used by operators toprocess alerting events. For example, the central alarm station server470 may route alerting data to the terminals 472 and 474 to enable anoperator to process the alerting data. The terminals 472 and 474 mayinclude general-purpose computers (e.g., desktop personal computers,workstations, or laptop computers) that are configured to receivealerting data from a server in the central alarm station server 470 andrender a display of information based on the alerting data. Forinstance, the controller 412 may control the network module 414 totransmit, to the central alarm station server 470, alerting dataindicating that a sensor 420 detected motion from a motion sensor viathe sensors 420. The central alarm station server 470 may receive thealerting data and route the alerting data to the terminal 472 forprocessing by an operator associated with the terminal 472. The terminal472 may render a display to the operator that includes informationassociated with the alerting event (e.g., the lock sensor data, themotion sensor data, the contact sensor data, etc.) and the operator mayhandle the alerting event based on the displayed information. In someimplementations, the terminals 472 and 474 may be mobile devices ordevices designed for a specific function. Although FIG. 4 illustratestwo terminals for brevity, actual implementations may include more (and,perhaps, many more) terminals.

The one or more authorized user devices 440 and 450 are devices thathost and display user interfaces. For instance, the user device 440 is amobile device that hosts or runs one or more native applications (e.g.,the smart home application 442). The user device 440 may be a cellularphone or a non-cellular locally networked device with a display. Theuser device 440 may include a cell phone, a smart phone, a tablet PC, apersonal digital assistant (“PDA”), or any other portable deviceconfigured to communicate over a network and display information. Forexample, implementations may also include Blackberry-type devices (e.g.,as provided by Research in Motion), electronic organizers, iPhone-typedevices (e.g., as provided by Apple), iPod devices (e.g., as provided byApple) or other portable music players, other communication devices, andhandheld or portable electronic devices for gaming, communications,and/or data organization. The user device 440 may perform functionsunrelated to the monitoring system, such as placing personal telephonecalls, playing music, playing video, displaying pictures, browsing theInternet, maintaining an electronic calendar, etc.

The user device 440 includes a smart home application 442. The smarthome application 442 refers to a software/firmware program running onthe corresponding mobile device that enables the user interface andfeatures described throughout. The user device 440 may load or installthe smart home application 442 based on data received over a network ordata received from local media. The smart home application 442 runs onmobile devices platforms, such as iPhone, iPod touch, Blackberry, GoogleAndroid, Windows Mobile, etc. The smart home application 442 enables theuser device 440 to receive and process image and sensor data from themonitoring system.

The user device 450 may be a general-purpose computer (e.g., a desktoppersonal computer, a workstation, or a laptop computer) that isconfigured to communicate with the monitoring server 460 and/or thecontrol unit 410 over the network 405. The user device 450 may beconfigured to display a smart home user interface 452 that is generatedby the user device 450 or generated by the monitoring server 460. Forexample, the user device 450 may be configured to display a userinterface (e.g., a web page) provided by the monitoring server 460 thatenables a user to perceive images captured by the camera 430 and/orreports related to the monitoring system. Although FIG. 4 illustratestwo user devices for brevity, actual implementations may include more(and, perhaps, many more) or fewer user devices.

In some implementations, the one or more user devices 440 and 450communicate with and receive monitoring system data from the controlunit 410 using the communication link 438. For instance, the one or moreuser devices 440 and 450 may communicate with the control unit 410 usingvarious local wireless protocols such as Wi-Fi, Bluetooth, Z-wave,Zigbee, HomePlug (ethernet over power line), or wired protocols such asEthernet and USB, to connect the one or more user devices 440 and 450 tolocal security and automation equipment. The one or more user devices440 and 450 may connect locally to the monitoring system and its sensorsand other devices. The local connection may improve the speed of statusand control communications because communicating through the network 405with a remote server (e.g., the monitoring server 460) may besignificantly slower.

Although the one or more user devices 440 and 450 are shown ascommunicating with the control unit 410, the one or more user devices440 and 450 may communicate directly with the sensors and other devicescontrolled by the control unit 410. In some implementations, the one ormore user devices 440 and 450 replace the control unit 410 and performthe functions of the control unit 410 for local monitoring and longrange/offsite communication.

In other implementations, the one or more user devices 440 and 450receive monitoring system data captured by the control unit 410 throughthe network 405. The one or more user devices 440, 450 may receive thedata from the control unit 410 through the network 405 or the monitoringserver 460 may relay data received from the control unit 410 to the oneor more user devices 440 and 450 through the network 405. In thisregard, the monitoring server 460 may facilitate communication betweenthe one or more user devices 440 and 450 and the monitoring system.

In some implementations, the one or more user devices 440 and 450 may beconfigured to switch whether the one or more user devices 440 and 450communicate with the control unit 410 directly (e.g., through link 438)or through the monitoring server 460 (e.g., through network 405) basedon a location of the one or more user devices 440 and 450. For instance,when the one or more user devices 440 and 450 are located close to thecontrol unit 410 and in range to communicate directly with the controlunit 410, the one or more user devices 440 and 450 use directcommunication. When the one or more user devices 440 and 450 are locatedfar from the control unit 410 and not in range to communicate directlywith the control unit 410, the one or more user devices 440 and 450 usecommunication through the monitoring server 460.

Although the one or more user devices 440 and 450 are shown as beingconnected to the network 405, in some implementations, the one or moreuser devices 440 and 450 are not connected to the network 405. In theseimplementations, the one or more user devices 440 and 450 communicatedirectly with one or more of the monitoring system components and nonetwork (e.g., Internet) connection or reliance on remote servers isneeded.

In some implementations, the one or more user devices 440 and 450 areused in conjunction with only local sensors and/or local devices in ahouse. In these implementations, the system 400 includes the one or moreuser devices 440 and 450, the sensors 420, the home automation controls422, the camera 430, the robotic devices 490, the light switch panel457, and the chime device 458. The one or more user devices 440 and 450receive data directly from the sensors 420, the home automation controls422, the camera 430, the robotic devices 490, the light switch panel457, and the chime device 458 and sends data directly to the sensors420, the home automation controls 422, the camera 430, the roboticdevices 490, and the light switch panel 457, and the chime device 458.The one or more user devices 440, 450 provide the appropriateinterfaces/processing to provide visual surveillance and reporting.

In other implementations, the system 400 further includes network 405and the sensors 420, the home automation controls 422, the camera 430,the thermostat 434, the robotic devices 490, the light switch panel 457,and the chime device 458 are configured to communicate sensor and imagedata to the one or more user devices 440 and 450 over network 405 (e.g.,the Internet, cellular network, etc.). In yet another implementation,the sensors 420, the home automation controls 422, the camera 430, thethermostat 434, the robotic devices 490, the light switch panel 457, andthe chime device 458 (or a component, such as a bridge/router) areintelligent enough to change the communication pathway from a directlocal pathway when the one or more user devices 440 and 450 are in closephysical proximity to the sensors 420, the home automation controls 422,the camera 430, the thermostat 434, the robotic devices 490, the lightswitch panel 457, and the chime device 458 to a pathway over network 405when the one or more user devices 440 and 450 are farther from thesensors 420, the home automation controls 422, the camera 430, thethermostat 434, the robotic devices 490, the light switch panel 457, andthe chime device 458. In some examples, the system leverages GPSinformation from the one or more user devices 440 and 450 to determinewhether the one or more user devices 440 and 450 are close enough to thesensors 420, the home automation controls 422, the camera 430, thethermostat 434, the robotic devices 490, the light switch panel 457, andthe chime device 458 to use the direct local pathway or whether the oneor more user devices 440 and 450 are far enough from the sensors 420,the home automation controls 422, the camera 430, the thermostat 434,the robotic devices 490, the light switch panel 457, and the chimedevice 458 that the pathway over network 405 is required. In otherexamples, the system leverages status communications (e.g., pinging)between the one or more user devices 440 and 450 and the sensors 420,the home automation controls 422, the camera 430, the thermostat 434,the robotic devices 490, the light switch panel 457, and the chimedevice 458 to determine whether communication using the direct localpathway is possible. If communication using the direct local pathway ispossible, the one or more user devices 440 and 450 communicate with thesensors 420, the home automation controls 422, the camera 430, thethermostat 434, the robotic devices 490, the light switch panel 457, andthe chime device 458 using the direct local pathway. If communicationusing the direct local pathway is not possible, the one or more userdevices 440 and 450 communicate with the sensors 420, the homeautomation controls 422, the camera 430, the thermostat 434, the roboticdevices 490, the light switch panel 457, and the chime device 458 usingthe pathway over network 405.

In some implementations, the system 400 provides end users with accessto images captured by the camera 430 to aid in decision making. Thesystem 400 may transmit the images captured by the camera 430 over awireless WAN network to the user devices 440 and 450. Becausetransmission over a wireless WAN network may be relatively expensive,the system 400 can use several techniques to reduce costs whileproviding access to significant levels of useful visual information(e.g., compressing data, down-sampling data, sending data only overinexpensive LAN connections, or other techniques).

In some implementations, a state of the monitoring system and otherevents sensed by the monitoring system may be used to enable/disablevideo/image recording devices (e.g., the camera 430). In theseimplementations, the camera 430 may be set to capture images on aperiodic basis when the alarm system is armed in an “away” state, butset not to capture images when the alarm system is armed in a “home”state or disarmed. In addition, the camera 430 may be triggered to begincapturing images when the alarm system detects an event, such as analarm event, a door-opening event for a door that leads to an areawithin a field of view of the camera 430, or motion in the area withinthe field of view of the camera 430. In other implementations, thecamera 430 may capture images continuously, but the captured images maybe stored or transmitted over a network when needed.

FIG. 5 illustrates an example process 500 for communicating anon-traditional file to a z-wave capable device. The process 500 may beperformed by a monitoring control unit 106 that manages the monitoringsystem at a property 102, and that is in communication with one or morez-wave capable devices located throughout the monitored property 102.The process includes the monitoring control unit determining tocommunicate a non-traditional file to the z-wave capable device (510).For example, the monitoring control unit 106 determines to communicatean image file to a light switch panel 104. A non-traditional file thatis a file that is not typically communicated through the z-wavecommunication protocol. For example, a non-traditional file may be animage file, an audio file, or a text file.

The monitoring control unit 106 may determine to communicate anon-traditional file, such as an image file to the z-wave capable lightswitch panel based on a user set timing schedule that indicates a timewhen the image file should be made available at the light switch panel104. In some examples, the monitoring control unit 106 may determine tocommunicate an audio file to a z-wave capable chime device. Themonitoring control unit 106 may determine to communicate the audio fileto the z-wave capable chime device based on receiving a request from auser device of a resident of the monitored property 102. In otherexamples, the monitoring control unit 106 may determine to communicate atext file to the light switch panel 104. In some implementations, themonitoring control unit 106 may determine to communicate thenon-traditional files during the configuration of the monitoring system.For example, when the resident of the monitored property 102 is settingup the light switch panel or setting up the chime device.

The monitoring control unit communicates a first data packet to thez-wave capable device based on determining to communicate anon-traditional file to the z-wave capable device (520). For example,the monitoring control unit 106 communicates a first data packet to thelight switch panel 104. The first data packet may indicate to the z-wavecapable device that a non-traditional file is going to be communicatedto the device. In some examples, the first data packet may indicate thenumber of data packets that will be included in the data transmission.The first data packet may include a source, a destination, data, and asize. The data portion of the first data packet may include data thatindicates that a non-traditional file may be communicated by a z-wavecommunication protocol.

The monitoring control unit alters a schedule command class payload of asecond data packet to include a first portion of the non-traditionalfile, alters the schedule command class payload of a third data packetto include a second portion of the non-traditional file, and alters aschedule command class payload of a fourth data packet to include athird portion of the non-traditional file (530). For example, themonitoring control unit 106 alters a schedule command class payload of asecond data packet to include a first portion of an image file, altersthe schedule command class payload of a third data packet to include asecond portion of the image file, and alters a schedule command classpayload of a fourth data packet to include a third portion of the imagefile. The monitoring control unit 106 may include a segment transportmanager that is configured to alter the schedule command class payloadof each of the one or more data packets that will be communicated to thez-wave capable device. In some examples, the non-traditional file to becommunicated to the z-wave device may be a larger file, and may need tobe portioned into four or more data packets to be communicated to thez-wave capable device.

The monitoring control unit communicates the altered second data packet,the altered third data packet, and the altered fourth data packet to thez-wave capable device (540). For example, the monitoring control unit106 communicates the altered data packets to a chime device via a z-wavecommunication protocol. The monitoring control unit 106 may beconfigured to communicate up to 64 kilobytes of non-traditional datafiles via z-wave through the use of the schedule command class payloadof the one or more data packets.

The z-wave capable device receives the altered second, third, and fourthdata packet and is configured to extract from the altered data packetsthe first, second, and third portions of the non-traditional file. Thez-wave capable device may be configured to reassemble the first, second,and third portion of the non-traditional file, and store thenon-traditional file in memory. In some examples, the first data packetreceived from the monitoring control unit 106 includes instructions toextract the one or more portions of the non-traditional file from thealtered data packets, and the instructions to reassemble the one or moreportions of the traditional file. In other examples, the monitoringcontrol unit 106 may communicate a fifth data packet that includesinstructions for the z-wave capable device to decode the altered second,third, and fourth data packet to extract the first, second, and thirdportions of the non-traditional file. The monitoring control unit 106may communicate a sixth data packet that includes instructions for thez-wave capable device to reassemble the first portion, the secondportion, and third portions of the non-traditional file.

In some implementations, the monitoring control unit 106 may determineto communicate a non-traditional file to the z-wave capable device by anover the air communication method. For example, the monitoring controlunit 106 may determine to communicate an audio file to a z-wave capablechime device by an over the air communication method. In theseimplementations, the monitoring control unit 106 communicates an adaptedboot file to the z-wave capable device. The adapted boot file mayinclude a header that notifies the receiving z-wave capable device thatthe boot file is an adapted boot file. When the z-wave capable devicereceives the adapted boot file, the receiving device may trigger anapplication layer of the adapted file to run the application file tooutput the non-traditional file. For example, a chime device may receivethe adapted file, and run the application file to output the audio file.

The described systems, methods, and techniques may be implemented indigital electronic circuitry, computer hardware, firmware, software, orin combinations of these elements. Apparatus implementing thesetechniques may include appropriate input and output devices, a computerprocessor, and a computer program product tangibly embodied in amachine-readable storage device for execution by a programmableprocessor. A process implementing these techniques may be performed by aprogrammable processor executing a program of instructions to performdesired functions by operating on input data and generating appropriateoutput. The techniques may be implemented in one or more computerprograms that are executable on a programmable system including at leastone programmable processor coupled to receive data and instructionsfrom, and to transmit data and instructions to, a data storage system,at least one input device, and at least one output device. Each computerprogram may be implemented in a high-level procedural or object-orientedprogramming language, or in assembly or machine language if desired; andin any case, the language may be a compiled or interpreted language.Suitable processors include, by way of example, both general and specialpurpose microprocessors. Generally, a processor will receiveinstructions and data from a read-only memory and/or a random accessmemory. Storage devices suitable for tangibly embodying computer programinstructions and data include all forms of non-volatile memory,including by way of example semiconductor memory devices, such asErasable Programmable Read-Only Memory (EPROM), Electrically ErasableProgrammable Read-Only Memory (EEPROM), and flash memory devices;magnetic disks such as internal hard disks and removable disks;magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM). Anyof the foregoing may be supplemented by, or incorporated in, speciallydesigned ASICs (application-specific integrated circuits).

It will be understood that various modifications may be made. Forexample, other useful implementations could be achieved if steps of thedisclosed techniques were performed in a different order and/or ifcomponents in the disclosed systems were combined in a different mannerand/or replaced or supplemented by other components. Accordingly, otherimplementations are within the scope of the disclosure.

The invention claimed is:
 1. A device comprising: one or more processorsand one or more storage devices on which are stored instructions thatare operable, when executed by the one or more processors, to cause theone or more processors to perform operations comprising: receiving, froma system, a first data packet that indicates that the device willreceive one or more data packets for a non-traditional file with anon-traditional file type that is not normally communicated with aparticular communication protocol; in response to receiving the firstdata packet that indicates that the device will receive one or more datapackets for the non-traditional file with the non-traditional file type,receiving, from the system and using the particular communicationprotocol, a second data packet that has an altered schedule commandclass payload that includes a first portion of the non-traditional file;receiving, from the system and using the particular communicationprotocol, a third data packet that has an altered schedule command classpayload that includes a second portion of the non-traditional file; inresponse to receiving the second data packet and the third data packet,extracting, from the second and third data packets, the first and secondportions of the non-traditional file; and forming a reassemblednon-traditional file by reassembling the first and second portions ofthe non-traditional file.
 2. The device of claim 1, wherein the firstdata packet comprises instructions to extract the first and secondportions of the non-traditional file from the second and third datapackets and reassemble the non-traditional file.
 3. The device of claim1, wherein the first data packet indicates a quantity of data packetsthe system will send for the non-traditional file.
 4. The device ofclaim 1, the operations comprising receiving, from the system, a fourthdata packet that comprises instructions to decode the second and thirddata packets to extract the first and second portions of thenon-traditional file, wherein extracting the first and second portionsof the non-traditional file is responsive to receiving the fourth datapacket.
 5. The device of claim 4, the operations comprising receiving afifth data packet that comprises instructions to reassemble thenon-traditional file, wherein forming the reassembled non-traditionalfile is responsive to receiving the fifth data packet.
 6. The device ofclaim 1, wherein the device comprises a z-wave capable device.
 7. Thedevice of claim 1, wherein the device comprises a light switch panelthat is configured to display data.
 8. The device of claim 7, wherein:the device comprises a sensor configured to gather at least one of:image, audio, text, and data files, the operations comprising:segmenting, for transmission to the system, at least one of an image,audio, text, or a data file captured by the sensor into transparentlyencapsulated data packets; and transmitting, to the system and using theparticular communication protocol, the transparently encapsulated datapackets that represent the at least one of an image, audio, text, or thedata file captured by the sensor to cause the system to reassemble theat least one of the image, audio, text, or the data file.
 9. The deviceof claim 8, the operations comprising: determining that thenon-traditional file has a non-traditional file type; and in response todetermining that the non-traditional file has a non-traditional filetype: segmenting the at least one of the image, the audio, the text, orthe data file captured by the sensor into transparently encapsulateddata packets including a fourth data packet; and altering a schedulecommand class payload of the fourth data packet to an over the air (OTA)transport data type.
 10. The device of claim 1, the operationscomprising: presenting, on a display panel, text data that indicatesthat a property in which the device is located is in an energy savingmode; and restricting access to one or more features of the device whilethe property is in the energy saving mode.
 11. The device of claim 1,wherein the non-traditional file comprises an image, and the first andsecond portions of the non-traditional file comprise partitionedportions of the image.
 12. The device of claim 1, wherein: receiving thesecond data packet comprises receiving the second data packet using afirst transfer interface; and receiving the third data packet comprisesreceiving the third data packet using a second transfer interface thatis different from the first transfer interface.
 13. The device of claim12, the operations comprising: after receiving the second data packet,detecting that operation of the first transfer interface is prevented;in response to detecting that the operation of the first transferinterface is prevented, switching to use of the second transferinterface, wherein receiving the third data packet using the secondtransfer interface occurs after switching to use of the second transferinterface.
 14. The device of claim 1, the operations comprisingdetermining, for the particular communication protocol, a transportmethod using at least one of the following: command class supportedcapabilities of the device, a bandwidth of the device, or an error rateof the device.
 15. The device of claim 1, wherein the non-traditionalfile comprises a firmware update.
 16. A method comprising: receiving, bya device and from a system, a first data packet that indicates that thedevice will receive one or more data packets for a non-traditional filewith a non-traditional file type that is not normally communicated witha particular communication protocol; in response to receiving the firstdata packet that indicates that the device will receive one or more datapackets for the non-traditional file with the non-traditional file type,receiving, from the system and using the particular communicationprotocol, a second data packet that has an altered schedule commandclass payload that includes a first portion of the non-traditional file;receiving, from the system and using the particular communicationprotocol, a third data packet that has an altered schedule command classpayload that includes a second portion of the non-traditional file; inresponse to receiving the second data packet and the third data packet,extracting, from the second and third data packets, the first and secondportions of the non-traditional file; and forming a reassemblednon-traditional file by reassembling the first and second portions ofthe non-traditional file.
 17. The method of claim 16, wherein the firstdata packet comprises instructions to extract the first and secondportions of the non-traditional file from the second and third datapackets and reassemble the non-traditional file.
 18. The method of claim16, wherein the first data packet indicates a quantity of data packetsthe system will send for the non-traditional file.
 19. The method ofclaim 16, comprising receiving, from the system, a fourth data packetthat comprises instructions to decode the second and third data packetsto extract the first and second portions of the non-traditional file,wherein extracting the first and second portions of the non-traditionalfile is responsive to receiving the fourth data packet.
 20. Anon-transitory computer storage medium encoded with instructions that,when executed by one or more computers, cause the one or more computersto perform operations comprising: receiving, from a system, a first datapacket that indicates that the one or more computers will receive one ormore data packets for a non-traditional file with a non-traditional filetype that is not normally communicated with a particular communicationprotocol; in response to receiving the first data packet that indicatesthat the device will receive one or more data packets for thenon-traditional file with the non-traditional file type, receiving, fromthe system and using the particular communication protocol, a seconddata packet that has an altered schedule command class payload thatincludes a first portion of the non-traditional file; receiving, fromthe system and using the particular communication protocol, a third datapacket that has an altered schedule command class payload that includesa second portion of the non-traditional file; in response to receivingthe second data packet and the third data packet, extracting, from thesecond and third data packets, the first and second portions of thenon-traditional file; and forming a reassembled non-traditional file byreassembling the first and second portions of the non-traditional file.